// 从之前new操作 变成了 createStore方法生成store实例
// 其余vuex中的选项和之前学的没有任何变化
import { createStore } from 'vuex'
import cart from './modules/cart'
import user from './modules/user'
import category from './modules/category'
import createPersistedstate from 'vuex-persistedstate'

export default createStore({
  state: {
  },
  getters: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    cart, user, category
  },
  plugins: [
    // vuex插件的作用是什么 增强vuex
    // 持久化插件, user  user.token ？ 一个是user下所有数据,一个是user的具体数据
    // 持久化插件 什么情况下 vuex中的数据会存入本地 ？ 只要修改state数据就会同步存在本地
    // 持久化插件的存放位置，可以改成存入cooies吗 ？
    // plugins是放入vuex的三方插件对插件 是对于vuex本身功能增强，固定写法是数组形式，两个参数也是固定
    createPersistedstate({
      key: 'erabbit-client-pc-store', // 存入本地的key F12localstrage中查看  key
      paths: ['user', 'cart', 'category']// 哪个模块要使用持久化的机制   value
    })
  ]
})
